package com.cloudfun.campusshare.service;

import com.cloudfun.campusshare.common.constant.ProductType;
import com.cloudfun.campusshare.common.model.vo.DeviceServiceTimeAddVO;
import com.cloudfun.campusshare.common.model.vo.DeviceServiceTimeListVO;
import com.cloudfun.campusshare.common.response.PageResult;
import org.springframework.data.domain.Pageable;

import java.time.LocalTime;
import java.util.List;

/**
 * @author : zhangyongjie
 * @version : 1.0
 * @createTime : 2020/5/9 11:01
 * @description :
 */
public interface DeviceServiceTimeService {
    /**
     * 添加设备时间
     *
     * @param deviceServiceTimeAddVO
     */
    void addDeviceServiceTime(DeviceServiceTimeAddVO deviceServiceTimeAddVO);

    /**
     * 查询列表
     *
     * @param pageable
     * @param keyword
     * @param startTime
     * @param endTime
     * @param deviceType
     * @param userId
     * @param washPointId
     * @param productType
     * @return
     */
    PageResult queryDeviceServiceTimeList(Pageable pageable, String keyword, LocalTime startTime, LocalTime endTime,
                                          List<String> deviceType, String userId, List<String> washPointId, String productType);

    /**
     * 删除设备服务时间
     *
     * @param deviceServiceTimeId
     */
    void deleteDeviceServiceTime(String deviceServiceTimeId);

    /**
     * 设备编辑查询服务时间列表
     *
     * @param deviceType
     * @param washPointId
     * @param concretePositionId
     * @return
     */
    List<DeviceServiceTimeListVO> queryTimeList4DeviceEdit(String deviceType, String washPointId);
}
